#include "../header.h"


//write 的基本用法   
//1.写字符串
//2.写数值
//3.写结构体
//三部：打开 - 操作 - 关闭
int main(int argc, char const *argv[])
{
    //字符指针存储的是 h的地址。hello linux 在常量数据区
    char *str = "hello linux";
    //! 追加写的形式 O_APPEND  不断的累积
    //! 清空写  O_TRNUC 清空原有数据再重新写 
    int fd = open("stux.dat",O_RDWR | O_CREAT| O_APPEND,0666);
    if(fd < 0 )
    {
        printf("errno:%d errinfo:%s\n",errno,strerror(errno));// perror
        return -1;
    }
    printf("创建一个文件成功:%d\n",fd);
    //# write 可以写入字符串到文件中
    int len = write(fd,str,strlen(str));
    printf("实际写入了len = %d 字节长度的数据\n",len);
   //? 写数值
    int num = 100;
    len = write(fd,&num,sizeof(num));
    printf("写数值 实际写入的字节个数:%d\n",len);

    //! 写结构体数据
    char a = '\n';
    write(fd,&a,1);
    car_t car1 = {"benz",100000};
    len = write(fd,&car1,sizeof(car1));
    printf("写二进制数据的长度 len = %d\n",len);

    close(fd);

    return 0;
}
